Scroll to navigation

DPKG(8) dpkg DPKG(8)

NAZWA

dpkg - menedżer pakietów dla systemu Debian

SKŁADNIA

dpkg [opcje] działanie

UWAGA

Ten podręcznik jest przeznaczony dla użytkowników, którzy chcą poznać opcje programu dpkg oraz chcą dowiedzieć się o pakietach więcej niż podaje to dpkg --help.

Ten podręcznik nie wyjaśnia technicznych szczegółów, np. w jaki sposób dpkg instaluje lub usuwa swoje pakiety, gdyż jest to dla przeciętnego użytkownika zupełnie nieistotne.

OPIS

dpkg to średniego poziomu narzędzie do instalowania, tworzenia, usuwania oraz zarządzania pakietami systemu Debian. Podstawowym i bardziej przyjaznym użytkownikowi narzędziem-nakładką dpkg jest dselect(8). Sam dpkg jest obsługiwany z linii komend poprzez podanie jednego działania oraz opcjonalnie dodatkowych opcji. Parametr działanie określa, co dpkg ma zrobić, a dodatkowe opcje modyfikują to działanie.

dpkg może być także użyty jako nakładka na dpkg-deb. Wymienione poniżej parametry zostaną przekazane z dpkg do dpkg-deb:


-b, --build,
-c, --contents,
-I, --info,
-f, --field,
-e, --control,
-x, --extract,
-X, --vextract oraz
--fsys-tarfile.

Działania te są opisane w osobnym podręczniku do dpkg-deb(1).

INFORMACJE O PAKIETACH

dpkg zarządza informacjami o dostępnych pakietach. Informacje zostały podzielone na trzy klasy: stan bieżący, stan wyboru oraz flagę. Wartości te mogą zostać zmienione za pomocą programu dselect.

STAN BIEŻĄCY PAKIETÓW

Pakiet jest rozpakowany i poprawnie skonfigurowany.
Instalacja pakietu została rozpoczęta, ale niedokończona z pewnych powodów.
Pakiet nie jest zainstalowany w systemie.
Pakiet jest rozpakowany, ale nie skonfigurowany.
Pakiet jest rozpakowany, a konfiguracja została rozpoczęta, ale niedokończona z pewnych powodów.
Tylko pliki konfiguracyjne pakietu zostały w systemie.

STAN WYBORU PAKIETÓW

Pakiet został wybrany do zainstalowania.
Pakiet został wybrany do odinstalowania (to znaczy, że chcemy skasować wszystkie pliki pakietu, oprócz plików konfiguracyjnych).
Pakiet został wybrany do wyczyszczenia (to znaczy, że chcemy skasować wszystko, włącznie z plikami konfiguracyjnymi).

FLAGI PAKIETÓW

Pakiet oznaczony jako wstrzymany nie jest obsługiwany przez dpkg, chyba że użyje się opcji --force-hold.
Pakiet oznaczony jako konieczna-reinstalacja jest uszkodzony i wymaga reinstalacji. Taki pakiet nie może zostać usunięty, chyba że użyje się opcji --force-remove-reinstreq.

DZIAŁANIA

Instalacja pakiet. Jeśli została użyta opcja --recursive lub -R, plik_pakietu musi oznaczać wybrany katalog.

Instalacja składa się z następujących kroków:

1. Rozpakowanie plików kontrolnych nowego pakietu.

2. Jeśli inna wersja tego samego pakietu jest już zainstalowana, uruchomienie skryptu prerm starego pakietu.

3. Uruchomienie skryptu preinst, jeśli pakiet go zawiera.

4. Rozpakowanie nowych plików, ale przechowanie starych na wypadek, gdyby instalacja się nie powiodła i trzeba by je odzyskać.

5. Jeśli inna wersja tego samego pakietu była poprzednio zainstalowana, uruchomienie skryptu postrm starego pakietu. Proszę zauważyć, że ten skrypt jest uruchamiany po skrypcie preinst nowego pakietu, ponieważ nowe pliki są zapisywane w tym samym czasie, gdy stare są kasowane.

6. Konfiguracja pakietu. Bardziej szczegółowe informacje zawarto przy opisie parametru --configure.

Rozpakowanie pakietu, ale nie konfigurowanie go. Jeśli została użyta opcja --recursive lub -R, plik_pakietu musi oznaczać wybrany katalog.
Rekonfigurowanie rozpakowanego pakietu. Jeśli zamiast nazwy pakietu została podana opcja -a lub --pending, rekonfiguracja obejmie wszystkie rozpakowane ale nie skonfigurowane pakiety.

Konfigurowanie składa się z następujących kroków:

1. Rozpakowanie nowych plików konfiguracyjnych, ale przechowanie starych na wypadek, gdyby konfigurowanie się nie powiodło i trzeba by je odzyskać.

2. Uruchomienie skryptu postinst, jeśli pakiet go zawiera.

Usuwanie zainstalowanych pakietów. Parametr -r lub --remove powoduje usunięcie wszystkich plików oprócz plików konfiguracyjnych. Pozwala to uniknąć powtórnej konfiguracji, gdyby pakiet był znów instalowany później. (Pliki konfiguracyjne są wymienione w pliku kontrolnym debian/conffiles pakietu). Parametr -P lub --purge usuwa wszystko, łącznie z plikami konfiguracyjnymi. Jeśli zamiast nazwy pakietu została podana opcja -a lub --pending, usunięte lub wyczyszczone zostaną wszystkie pakiety rozpakowane i wybrane w pliku /var/lib/dpkg/status jako przeznaczone do usunięcia lub wyczyszczenia.

Usunięcie pakietu składa się z następujących kroków:

1. Uruchomienie skryptu prerm

2. Usunięcie zainstalowanych plików

3. Uruchomienie skryptu postrm

Zaktualizowanie bazy danych programu dpkg oraz dselect o dostępnych pakietach. Opcja --merge-avail powoduje, że poprzednie informacje są łączone z nowymi z pliku Packages. Opcja --update-avail powoduje zastąpienie starych informacji nowymi z pliku Packages. Plik Packages jest dystrybuowany razem z systemem Debian. dpkg przechowuje informacje z tego pliku w pliku /var/lib/dpkg/available.

Szybszą opcją zaktualizowania pliku available jest uruchomienie polecania dselect update.

Zaktualizowanie bazy danych programu dpkg oraz dselect o dostępnych pakietach, uwzględniając informacje zawarte w pliku_pakietu. Jeśli została użyta opcja --recursive lub -R, plik_pakietu musi oznaczać wybrany katalog.
Skasowanie informacji o wszystkich niezainstalowanych i niedostępnych pakietach.
Skasowanie informacji o dostępnych pakietach.
Wyszukanie pakietów, które zainstalowane są w systemie tylko częściowo. dpkg zasugeruje, co można zrobić z tymi pakietami, aby w pełni działały.
Pobranie listy wybranych pakietów i wyrzucenie jej na stdout.
Ustawienie wyboru pakietów odczytane ze stdin.
Wyszukanie pakietów przeznaczonych do zainstalowania, które z pewnych powodów nie mogły zostać zainstalowane.
Podanie architektury docelowej (na przykład "i386"). Ta opcja wykorzystuje program gcc.
Podanie wersji GNU docelowej architektury (na przykład "i486").
Podanie architektury komputera, dla którego nastąpi instalacja.
Porównanie numerów wersji, gdzie op jest operatorem binarnym. dpkg zwróci prawdę (rezultat zerowy), gdy warunek zostanie spełniony, lub zwróci fałsz (rezultat niezerowy) - w przeciwnym razie. Istnieją dwie grupy operatorów, w zależności od tego, w jaki sposób traktuje się pusty numer wersji1 lub wersji2. Operatory, dla których pusty numer wersji oznacza wersję wcześniejszą niż dowolna: lt le eq ne ge gt. Operatory, dla których pusty numer wersji oznacza wersję późniejszą niż dowolna: lt-nl le-nl ge-nl gt-nl. Operatory istniejące, aby zachować kompatybilność z plikiem kontrolnym: < << <= = >= >> >.
Wykonuje listę poleceń odczytywanych z deskryptora pliku <n>. Uwaga: dodatkowe opcje ustawione w linii komend oraz przez polecenia odczytane z tego deskryptora pliku nie są czyszczone dla kolejnych poleceń wykonywanych podczas tego samego przebiegu.
Wyświetlenie krótkiego komunikatu pomocy.
Wyświetlenie opisu opcji --force-działanie.
Wyświetlenie opisu opcji debuggera.
Wyświetlenie licencji dpkg.
Wyświetlenie informacji o wersji dpkg.
Zajrzyj do dpkg-deb(1), aby poznać pełny opis następujących działań.

dpkg -b | --build katalog [nazwa-pliku]

Zbudowanie pakietu deb. dpkg -c | --contents nazwa-pliku
Podanie zawartości pakietu deb. dpkg -e | --control nazwa-pliku [katalog]
Rozpakowanie plików kontrolnych z pakietu. dpkg -x | --extract nazwa-pliku katalog
Rozpakowanie plików zawartych w pakiecie. dpkg -f | --field nazwa-pliku [pola-kontrolne] ...
Podanie informacji z pól kontrolnych pakietu. dpkg --fsys-tarfile nazwa-pliku
Podanie na stdout archiwum tar, które zawiera pakiet Debiana. dpkg -I | --info nazwa-pliku [plik-kontrolny]
Podanie informacji o pakiecie. dpkg -X | --vextract nazwa-pliku katalog
Rozpakowanie pakietu i podanie nazw plików, które zawiera pakiet.

Proszę przeczytać dpkg-query(8), aby uzyskać szczegółowe informacje o następujących działaniach.

dpkg -l | --list wzorzec-nazw-pakietów ...

Wyświetla pakiety pasujące do wzorca. dpkg -s | --status nazwa-pakietu ...
Wyświetla informacje o stanie danego pakietu. dpkg -L | --listfiles pakiet ...
Wyświetla listę plików zainstalowanych w systemie przez pakiet pakiet. dpkg -S | --search wzorzec-wyszukiwania-nazw-plików ...
Wyszukuje nazwy plików w zainstalowanych pakietach. dpkg -p | --print-avail pakiet
Wyświetla szczegółowe informacje na temat pakietu, pochodzące z
pliku /var/lib/dpkg/available.

OPCJE

Wszystkie opcje mogą być podane zarówno w linii poleceń, jak i w pliku konfiguracyjnym /etc/dpkg/dpkg.cfg programu dpkg. Każda linia tego pliku jest albo opcją (dokładnie taką samą jak opcja linii poleceń, ale bez początkowych myślników), albo komentarzem (jeżeli zaczyna się od #).

Zmiana ilości błędów, po których dpkg zaprzestanie działania. Domyślna wartość to 50.
Gdy pakiet jest usuwany, możliwa jest sytuacja, że kolejny zainstalowany pakiet jest zależny od tego usuwanego. Podanie tej opcji spowoduje automatyczne dekonfigurowanie pakietów, które są zależne od usuwanego.
Włączenie trybu debuggera. oktal jest liczbą ósemkową zależną od żądanych opcji debuggera (te wartości mogą ulec zmianie w przyszłości). Parametr -Dh lub --debug=help wyświetla te wartości.


numer opis
1 Ogólnie przydatne informacje o postępie
2 Wywołanie i stan skryptów kontrolnych
10 Informacje o każdym przetwarzanym pliku
100 Więcej informacji o każdym przetwarzanym pliku
20 Informacje o każdym pliku konfiguracyjnym
200 Więcej informacji o każdym pliku konfiguracyjnym
40 Zależności i konflikty
400 Więcej informacji o zależnościach i konfliktach
1000 Mnóstwo informacji m.in. o plikach info z bazy danych dpkg
2000 Reszta szczegółowych informacji

Wymuś (--force-) wykonanie pewnych działań lub pozostaw domyślny sposób (no-force i refuse oznaczają to samo) wykonania działań. działanie to rozdzielona przecinkami lista działań. --force-help wyświetla opis tych działań. Działania oznaczone przez (*) są domyślnie wymuszone.

Ostrzeżenie: Te opcje są zwykle przeznaczone wyłącznie dla doświadczonych użytkowników. Użycie ich bez pełnego zrozumienia efektu działania może spowodować uszkodzenie systemu.

all Włącza (lub wyłącza) wszystkie opcje typu "force".

auto-select(*): Zaznaczenie pakietów do zainstalowania lub usunięcia.

downgrade(*): Zainstalowanie pakietu, nawet gdy nowsza jego wersja jest już zainstalowana.

Ostrzeżenie: W chwili obecnej dpkg nie sprawdza zależności podczas instalowania starszej wersji pakietu i dlatego nie wypisze ostrzeżenia, jeżeli zainstalowanie starszej wersji popsuje zależności innych pakietów. Instalowania starszych wersji niezbędnych (essential) pakietów może spowodować, i jest to poważny skutek uboczny, że Twój system nie będzie się nadawał do użytku. Proszę używać tej opcji ostrożnie.

configure-any: Skonfigurowanie wszystkich rozpakowanych ale nie skonfigurowanych pakietów, od których jest zależny bieżący pakiet.

hold: Działanie obejmie także pakiety oznaczone jako "wstrzymane" (hold).

remove-reinstreq: Usunięcie pakietu, nawet wtedy gdy jest uszkodzony i wymaga przeinstalowania. Może to spowodować pozostawienie części pakietu w systemie, gdyż dpkg zapomni o niej.

remove-essential: Usunięcie pakietu, nawet wtedy gdy jest on uznany za niezbędny (essential). Pakiety niezbędne zawierają podstawowe polecenia Uniksa. Usunięcie ich może spowodować, że system przestanie działać. Należy zachować szczególną ostrożność przy użyciu tej opcji.

depends: Zamiana wszystkich problemów z zależnościami na ostrzeżenia.

depends-version: Zignorowanie problemów z numerami wersji przy sprawdzaniu zależności.

conflicts: Instalacja, nawet gdy pakiet powoduje konflikt z innym. Powstać może niebezpieczeństwo nadpisania plików z innego pakietu, dlatego należy zachować ostrożność przy użyciu tej opcji.

confmiss: Zawsze będą instalowane brakujące pliki konfiguracyjne. Używanie tej opcji może być niebezpieczne, ponieważ nie zachowuje to zmiany dokonanej na pliku (czyli jego usunięcia).

confnew: Jeśli plik konfiguracyjny został zmodyfikowany, zainstalowana zostanie jego nowa wersja bez pytania, chyba że użyto również opcji --force-confdef, co spowoduje wykonanie domyślnej akcji.

confold: Jeśli plik konfiguracyjny został zmodyfikowany, stara wersja zostanie zachowana bez pytania, chyba że użyto również opcji --force-confdef, co spowoduje wykonanie domyślnej akcji.

confdef: Jeśli plik konfiguracyjny został zmodyfikowany, wybrane zostanie domyślne działanie. Jeżeli nie określono domyślnej akcji, użytkownik zostanie poproszony o dokonanie wyboru. Podanie dodatkowo opcji --force-confnew lub --force-confold zdecyduje o dalszym działaniu.

overwrite: Nadpisanie plików z innych pakietów, w przypadku gdy dany plik występuje także w innym pakiecie.

overwrite-dir Nadpisanie katalogów z innych pakietów, w przypadku gdy dany katalog występuje także w innym pakiecie.

overwrite-diverted: Nadpisanie plików ominiętych plikami nieominiętymi.

architecture: Działanie obejmie pakiety z niepoprawną architekturą.

bad-path: Zignorowanie braku pewnych programów w ścieżce zmiennej systemowej PATH.

not-root: Próba (de)instalacji, gdy dpkg nie jest uruchamiany z konta root.

bad-verify: Instalowanie pakietu, nawet jeżeli nie powiedzie się sprawdzenie jego autentyczności.

Zignorowanie sprawdzania zależności od podanych pakietów (a ściślej rzecz biorąc, sprawdzanie się odbywa, ale w przypadku konfliktów wyświetlane jest tylko ostrzeżenie).
Wybór pomiędzy nowym i starym formatem binarnym pakietu. Ta opcja jest przesłana do dpkg-deb(1).
Brak sprawdzania zawartości pliku kontrolnego podczas budowania pakietu. Ta opcja jest przesłana do dpkg-deb(1).
Podejmowane działania nie powodują żadnych zmian. Ta opcja jest użyteczna, gdy potrzeba sprawdzić, czy działanie się wykona, ale bez powodowania zmian czegokolwiek.

Opcję --no-act należy podać jako pierwszy parametr, gdyż w przeciwnym razie można otrzymać niespodziewane efekty. (np. dpkg --purge foo --no-act wyczyści pakiet foo, a następnie spróbuje wyczyścić pakiet o nazwie --no-act, mimo że najprawdopodobniej spodziewałeś się, że takie polecenie nic nie zrobi).

Działanie obejmie wszystkie pliki *.deb z podanego katalogu, wraz z podkatalogami tego katalogu. Ta opcja może zostać użyta wraz z -i, -A, --install, --unpack oraz --avail.
Nieinstalowanie pakietu, jeśli nowszy jest już zainstalowany w systemie. Jest to dokładnie to samo co --refuse-downgrade.
Zmiana domyślnych katalogów. admindir to domyślnie /var/lib/dpkg, gdzie przechowywane są informacje o stanie pakietów, itp. instdir to domyślnie / i oznacza katalog w którym zostaną zainstalowane pliki. instdir oznacza również katalog na którym zostanie wykonane polecenie chroot(2) przed wykonaniem skryptów kontrolnych pakietu. Oznacza to, że skrypty będą uważać katalog instdir za swój katalog główny. Zmiana katalogu root na katalog spowoduje zmianę katalogu instdir na katalog, a katalogu admindir na katalog/var/lib/dpkg.
Działanie obejmuje wyłącznie pakiety wybrane do instalacji. Wybór może zostać dokonany przez polecenie dselect lub dpkg, gdy wykonuje operacje na pakietach. Na przykład pakiet usuwany jest zaznaczany jako wybrany do deinstalacji.

Nieinstalowanie pakietu, jeśli o tej samej wersji jest już zainstalowany w systemie.
Wysyła do deskryptora pliku <n> informacje o stanie pakietów. Ta opcja może być podana wiele razy. Informacje przesyłane są w następującej postaci: `status: <pakiet>: <stan pakietu>'.

PLIKI

/etc/dpkg/dpkg.cf
Plik konfiguracyjny zawierający domyślne opcje.

Pozostałe pliki wymienione poniżej odnoszą się do swoich domyślnych katalogów. Opcja --admindir może zmienić lokalizację tych plików.

/var/lib/dpkg/available
Lista dostępnych pakietów.
/var/lib/dpkg/status
Stan dostępnych pakietów. Ten plik zawiera informacje o tym, czy dany pakiet jest wybrany do skasowania, czy jest zainstalowany, itp. Te informacje są opisane w sekcji INFORMACJE O PAKIETACH.

Poniższe pliki są częścią składową pakietów binarnych. Więcej informacji o nich można znaleźć w deb(5).

ZMIENNE ŚRODOWISKA

Zdefiniuj tę zmienną, jeśli chcesz, aby dpkg uruchomił nową sesję powłoki zamiast usuwać dpkg w tło, gdy potrzeba wykonać coś w powłoce.
Program uruchamiany przez dpkg, gdy trzeba uruchomić nową sesję powłoki.
Ustawia liczbę kolumn używanych przez dpkg w czasie wyświetlania sformatowanego tekstu. Obecnie używane tylko przez opcję -l.
Zmienna zawierająca nazwę starego pliku konfiguracyjnego, ustawiana przez dpkg, kiedy użytkownik uruchomi powłokę w celu zbadania zmienionego pliku konfiguracyjnego.
Zmienna zawierająca nazwę nowej wersji pliku konfiguracyjnego, ustawiana przez dpkg, kiedy użytkownik uruchomi powłokę w celu zbadania zmienionego pliku konfiguracyjnego.

PRZYKŁADY

Wyświetlenie wszystkich pakietów mogących być związanymi z edytorem vi:
dpkg -l '*vi*'

Wyświetlenie informacji z pliku /var/lib/dpkg/available o dwóch pakietach:
dpkg --print-avail elvis vim | less

Samodzielne przeszukanie informacji o pakietach:
less /var/lib/dpkg/available

Wykasowanie zainstalowanego pakietu elvis:
dpkg -r elvis

Aby zainstalować pakiet, należy wpierw znaleźć go w archiwum lub na CDROM. Plik "available" pokazuje, że pakiet vim jest w sekcji "editors":
cd /cdrom/hamm/hamm/binary/editors dpkg -i vim_4.5-3.deb

Aby stworzyć kopię lokalnie wybranych pakietów:
dpkg --get-selections >mojepakiety

Ten plik można przenieść do innego systemu i zainstalować te pakiety poprzez:
dpkg --set-selections <mojepakiety
Należy zauważyć, że ta opcja nie powoduje zainstalowania lub usunięcia czegokolwiek, ale tylko zapisuje, że pewne pakiety są wybrane do zainstalowania bądź usunięcia. Do ściągnięcia i zainstalowania tych pakietów trzeba użyć innego programu. Na przykład można uruchomić dselect i wybrać opcję "Install".

Zwyczajowo do wyboru pakietów służy dselect(8), który daje większe możliwości zmiany ich stanu.

DODATKOWA FUNKCJONALNOŚĆ

Dodatkową funkcjonalność można uzyskać, instalując którykolwiek z następujących pakietów: apt, aptitude oraz debsums.

ZOBACZ TAKŻE

dselect(8), dpkg-deb(1), deb(5), deb-control(5) i dpkg-reconfigure(8)

BŁĘDY

--no-act podaje raczej zbyt mało pomocnych informacji.

AUTORZY

Plik /usr/share/doc/dpkg/THANKS.gz zawiera listę osób, które przyczyniły
się do rozwoju programu dpkg.
12 kwietnia 1998 Projekt Debiana